package com.yuba.front.domain.param;

import com.yuba.common.core.validate.ActionCollectFishGroup;
import com.yuba.common.core.validate.ActionCollectPostGroup;
import com.yuba.common.core.validate.ActionCommentGroup;
import com.yuba.common.core.validate.ActionPosts;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

@Data
public class ActionParam implements Serializable {

    @NotBlank(message = "类型不能为空", groups = {ActionPosts.class, ActionCollectPostGroup.class, ActionCollectFishGroup.class, ActionCommentGroup.class})
    private String type;

    @NotNull(message = "钓场id不能为空", groups = {ActionCollectFishGroup.class})
    private Integer fishSiteId;

    @NotNull(message = "帖子id不能为空", groups = {ActionPosts.class, ActionCollectPostGroup.class})
    private Long postsId;

    @NotNull(message = "评论id不能为空", groups = {ActionCommentGroup.class})
    private Long commentId;

    @NotNull(message = "帖子用户不能为空", groups = {ActionPosts.class, ActionCollectPostGroup.class, ActionCollectFishGroup.class})
    private Long authorId;
}
